using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
//
// DotNetNuke?- http://www.dotnetnuke.com
// Copyright (c) 2002-2009 
// by DotNetNuke Corporation
//

using DotNetNuke;

namespace DotNetNuke.Modules.Html
{

    public abstract partial class DataProvider
    {

        #region "Abstract methods"

        public abstract int AddWorkflow(int PortalID, string WorkflowName, string Description, bool IsDeleted);
        public abstract int AddWorkflowState(int WorkflowID, string StateName, int Order, bool Notify, bool IsActive);
        public abstract bool CanDeleteWorkFlowState(int StateID);
        public abstract void DeleteWorkflowState(int StateID);
        public abstract IDataReader GetWorkflow(int WorkflowID);
        public abstract IDataReader GetWorkflowState(int StateID);
        public abstract void UpdateWorkflow(int WorkflowID, string WorkflowName, string Description, bool IsDeleted);
        public abstract void UpdateWorkflowState(int StateID, string StateName, int Order, bool Notify, bool IsActive);

        public abstract IDataReader GetPermissionsByStateID(int StateID);
        public abstract IDataReader GetWorkflowStatePermission(int WorkflowStatePermissionID);
        public abstract void DeleteWorkflowStatePermissionsByStateID(int StateID);
        public abstract void DeleteWorkflowStatePermissionsByUserID(int userID);
        public abstract void DeleteWorkflowStatePermission(int WorkflowStatePermissionID);
        public abstract int AddWorkflowStatePermission(int StateID, int permissionID, int roleID, bool allowAccess, int userID, int createdByUserID);
        public abstract void UpdateWorkflowStatePermission(int WorkflowStatePermissionID, int StateID, int permissionID, int roleID, bool allowAccess, int userID, int lastModifiedByUserID);

        #endregion

    }

}
